package com.question.business.user.model.vo;

import com.question.common.annotation.*;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户详情响应参数
 *
 * @author star
 * @since 2022-07-20
 */
@Data
public class UserDetailVO {

    /**
     * ID
     */
    private String id;

    /**
     * 用户名
     */
    private String username;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 直属上级
     */
    @UserConvert(target = "parentUserName")
    private String parentId;

    /**
     * 联系人
     */
    private String contact;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 账号到期日
     */
    private LocalDate dueDate;

    /**
     * 启用状态(1:启用2:停用)
     */
    @DictConvert
    private Integer enabled;

    /**
     * 关联机构
     */
    @OrgConvert(target = "orgNames")
    private List<String> orgIds;

    /**
     * 关联部门
     */
    @DeptConvert(target = "deptNames")
    private List<String> deptIds;

    /**
     * 关联岗位
     */
    @PostConvert(target = "postNames")
    private List<String> postIds;

    /**
     * 关联角色
     */
    @RoleConvert(target = "roleNames")
    private List<String> roleIds;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 创建用户
     */
    @UserConvert
    private String createdUser;

    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;

    /**
     * 更新用户
     */
    @UserConvert
    private String updatedUser;

}